package org.xserver.disruptor.producer;

import java.lang.reflect.Method;

import org.xserver.component.core.XServerHttpContextAttachment;
import org.xserver.component.handler.ext.WriteHandler;

public class RequestEvent {
	
	public RequestEvent() {
	}

	public static RequestEvent getInstance(Method method, Object httpInterface,
			Object[] parameters, WriteHandler writeHandler, XServerHttpContextAttachment attachment){
		return new RequestEvent(method, httpInterface, parameters, writeHandler,attachment);
	}
	
	public RequestEvent(Method method, Object httpInterface,
			Object[] parameters, WriteHandler writeHandler, XServerHttpContextAttachment attachment) {
		super();
		this.method = method;
		this.httpInterface = httpInterface;
		this.parameters = parameters;
		this.writeHandler = writeHandler;
		this.attachment = attachment;
	}

	private Method method;
	
	private Object httpInterface;

	private Object[] parameters;

	private WriteHandler writeHandler;
	
	private XServerHttpContextAttachment attachment;

	public Object getHttpInterface() {
		return httpInterface;
	}

	public void setHttpInterface(Object httpInterface) {
		this.httpInterface = httpInterface;
	}

	public Object[] getParameters() {
		return parameters;
	}

	public void setParameters(Object[] parameters) {
		this.parameters = parameters;
	}

	public Method getMethod() {
		return method;
	}

	public void setMethod(Method method) {
		this.method = method;
	}

	public WriteHandler getWriteHandler() {
		return writeHandler;
	}

	public void setWriteHandler(WriteHandler writeHandler) {
		this.writeHandler = writeHandler;
	}
	public XServerHttpContextAttachment getAttachment() {
		return attachment;
	}
	public void setAttachment(XServerHttpContextAttachment attachment) {
		this.attachment = attachment;
	}
	
	
	
}
